aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/[user]
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-28 23:43:57 -0700
committerFuwn <[email protected]>2024-04-28 23:43:57 -0700
commit8123a6fe99e01e93b480f036dfee262139e33ae8 (patch)
treedf8a2841c85553c5f90f072bf7f95062fbe68030 /src/routes/user/[user]
parentfeat(display): move schedule to text toggle section (diff)
downloaddue.moe-8123a6fe99e01e93b480f036dfee262139e33ae8.tar.xz
due.moe-8123a6fe99e01e93b480f036dfee262139e33ae8.zip
feat(badges): allow awc badges hiding
Diffstat (limited to 'src/routes/user/[user]')
-rw-r--r--src/routes/user/[user]/+page.svelte14
-rw-r--r--src/routes/user/[user]/badges/+page.svelte68
2 files changed, 49 insertions, 33 deletions
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index 222e044f..7049cbfd 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -225,6 +225,20 @@
<p />
+ <input
+ type="checkbox"
+ on:change={() => {
+ if (userData)
+ fetch(root(`/api/preferences?id=${userData.id}&toggleHideAWCBadges`), {
+ method: 'PUT'
+ });
+ }}
+ checked={preferences.hide_awc_badges}
+ />
+ {$locale().user.preferences.hideAWCBadges.title}
+
+ <p />
+
Biography
<button
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index caf2019d..2b7dd65f 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -520,42 +520,44 @@
!editMode}
<div id="badges">
- {#await awcPromise then badges}
- {#await badges.clone().text() then text}
- {@const parsedBadges = awcBadgesGrouped(text)}
-
- {#if parsedBadges.length > 0}
- {#each parsedBadges as group}
- <details open={categoryFilter || isOwner ? false : true}>
- <summary>
- Anime Watching Club <span class="opaque">|</span>
- {group.group}
- </summary>
+ {#if !preferences.hide_awc_badges}
+ {#await awcPromise then badges}
+ {#await badges.clone().text() then text}
+ {@const parsedBadges = awcBadgesGrouped(text)}
+
+ {#if parsedBadges.length > 0}
+ {#each parsedBadges as group}
+ <details open={categoryFilter || isOwner ? false : true}>
+ <summary>
+ Anime Watching Club <span class="opaque">|</span>
+ {group.group}
+ </summary>
+
+ <p />
+
+ <div class="badges">
+ {#each group.badges as badge, index}
+ <div id={`badge-${index}`}>
+ <FallbackBadge
+ {badge}
+ source={cdn(thumbnail(badge.image))}
+ alternative={badge.description}
+ fallback={thumbnail(badge.image)}
+ hideOnError={preferences.hide_missing_badges}
+ awc
+ {index}
+ />
+ </div>
+ {/each}
+ </div>
+ </details>
<p />
-
- <div class="badges">
- {#each group.badges as badge, index}
- <div id={`badge-${index}`}>
- <FallbackBadge
- {badge}
- source={cdn(thumbnail(badge.image))}
- alternative={badge.description}
- fallback={thumbnail(badge.image)}
- hideOnError={preferences.hide_missing_badges}
- awc
- {index}
- />
- </div>
- {/each}
- </div>
- </details>
-
- <p />
- {/each}
- {/if}
+ {/each}
+ {/if}
+ {/await}
{/await}
- {/await}
+ {/if}
{#if ungroupedBadges === null}
<Message message="Loading badges ..." />